//
$(document).ready(function(){
	// 初始化查询条件
	initQuery();
	// 题库下拉框
	selectQuestion();
	
	// 新增界面业户下拉
	selectEntCheck();
	
	// 查岗模式 1:自动、2:手工 (默认选中手工)
	$("#checkMode2").attr("checked", true);
	$("#showOrhide").hide();
	
	// 自动->需要show下发时间
	$('#checkMode1').change(function(){
		$("input[name='checkMode2'][value='2']").attr("checked",false);  //根据Value值设置Radio为选中状态
		$("#showOrhide").show();
		
	});
	
	// 手工->需要hide下发时间
	$('#checkMode2').change(function(){
		$("input[name='checkMode1'][value='1']").attr("checked",false);  //根据Value值设置Radio为选中状态
		$("#showOrhide").hide();
		
	});
	
	loadStrategys();	// 重新查询业户查岗列表记录
	
})

// 初始化查询条件
function initQuery(){
	// 加载策略设置列表
	toSearch1();
	
	// 查询条件题库下拉
	querySelectQuestions();
	// 查询对象下拉赋值
	var vdefault = "请选择";
	var unitName="业户";
	var areaName="区域";
	$("select[name='selectCheckModel']").append(
			"<option data-id='' data-name=''  value=''>"
					+ vdefault + "</option>").append(
							"<option data-id='1' data-name='业户' value='1'>"
							 +unitName+  "</option>").append(
									"<option data-id='2' data-name='区域'  value='2'>"
									 +areaName+  "</option>");
	// 业户对象隐藏
	$("#entNameDiv").hide();
	// 区域对象隐藏
	$("#areaNameDiv").hide();
}

// 查询条件->查岗对象改变事件
function selectCheckModel(data){
	var dataId = $("#selectCheckModel").find("option:selected").attr("data-id");
	// 业户
	if(dataId==1){
		$("#entNameDiv").show();
		$("#areaNameDiv").hide();
		// 查询条件业户下拉
		querySelectEntCheck();
	}
	// 区域
	else if(dataId==2){
		$("#entNameDiv").hide();
		$("#areaNameDiv").show();
		querySelectAreas();
	}else{
		// 业户对象隐藏
		$("#entNameDiv").hide();
		// 区域对象隐藏
		$("#areaNameDiv").hide();
	}
}

// 查询条件题库下拉
function querySelectQuestions(){
	var url = appCtx +"/system/common/queryQuestions.html";
	$.post(url, function(data) {
		$("select[name='selectQuestions']").empty();
		var vdefault = "请选择";
		$("select[name='selectQuestions']").append(
				"<option data-id='' data-name='' data-answer='' value=''>"
						+ vdefault + "</option>");
		$.each(data, function(i, item) {
			if ("${selectQuestions}" == item.id) {
				$("select[name='selectQuestions']").append(
						"<option data-id='" + item.id + "' data-name='"
								+ item.name + "' data-answer='" + item.answer
								+ "' value='" + item.id + "'>" + item.name
								+ "</option>");
			} else {
				$("select[name='selectQuestions']").append(
						"<option data-id='" + item.id + "' data-name='"
								+ item.name + "' data-answer='" + item.answer
								+ "' value='" + item.id + "'>" + item.name
								+ "</option>");
			}
		});

	}, "json");
}
// 查询条件业户下拉
function querySelectEntCheck(){
	
	var url = appCtx + "/system/common/selectEnterprise.html";
	$.post(url, function(data) {
		
		$.each(data, function(i, item) {
			if ("${selectEntModels}" == item.id) {
				$("select[id='selectEntModels']").append(
						"<option data-id='" + item.id + "' data-name='"
								+ item.name + "' value='" + item.id + "'>"
								+ item.name + "</option>");
			} else {
				$("select[id='selectEntModels']").append(
						"<option data-id='" + item.id + "' data-name='"
								+ item.name + "' value='" + item.id + "'>"
								+ item.name + "</option>");
			}
		});

// 业户全选 bootstrap-multiselect.js 不支持ie8
//		$('#selectEntModels').multiselect({
//	         enableFiltering: true,
//	         includeSelectAllOption: true,
//	         selectAllJustVisible: false,
//	         nonSelectedText:'请选择业户'
//	     });
		// 业户全选  multiple-select.js
		$('#selectEntModels').multipleSelect({
			filter:true,
			placeholder:'请选择业户'
		});
		
	}, "json");
}

// 查询条件区域下拉
function querySelectAreas(){
	
	$('#selectAreaModels').combotree({
		url:appCtx + "/system/common/queryAreaTree.html",
		valueField: 'id',
        textField: 'text',
        method: 'post',
        multiple: true,
        editable : true,
        collapseAll : true,
        onSuccess : function(data){
        	
        },            
        loadFilter: function(data){
             return data;
		},
		onLoadSuccess: function (data) {
			$('#selectAreaModels').combotree('tree').tree("collapseAll");
			$('#selectAreaModels').combotree('setValue','')
     	}
	});

}

//查询入口
var isInitFlexGrid1 = true;
function toSearch1(){
	if(isInitFlexGrid1 == true){
		reloadStrategys(getParam());
	}else{
		loadStrategys();	// 重新查询业户查岗列表记录
		isInitFlexGrid1 = false;
	}
}


// 刷新
function reloadStrategys(params){
	$("#tbStrategys").flexOptions( {
		newp : 1,
		params : this.getParam()
	}).flexReload();
}


//查询条件封装
function getParam(){
	// 查岗对象 
	var selectCheckModel = $("#selectCheckModel").find("option:selected").attr("data-id");
	if (typeof (selectCheckModel) == "undefined") {
		selectCheckModel = "";
	}
	
	// 业户下拉数组
	var selectEntModels = [];
	if(selectCheckModel==1){
		$("#selectEntModels").find("option:selected").each(function() {
			selectEntModels.push($(this).attr("data-id"));
		});
		if(selectEntModels.length===0){
			selectEntModels="";
		}
	}
	
	// 区域下拉数组
	var selectAreaModels = [];
	if(selectCheckModel==2){
		var selectAreaModels = $("#selectAreaModels").combotree("getValues");
		if (typeof(selectAreaModels) == "undefined" || selectAreaModels==''){ 
			selectAreaModels="";
		}
		
	}
	// 查岗内容（题库下拉）
	var selectQuestions = $("#selectQuestions").find("option:selected").attr("data-id");
	
	// 查岗时间
	var queryCheckTime=$("#queryCheckTime").val();
	
   	var params = [{
		name : 'selectEntModels',
		value : selectEntModels.toString()
	},{
		name : 'selectAreaModels',
		value : selectAreaModels.toString()
	},{
		name : 'selectQuestions',
		value : selectQuestions
	},{
		name : 'queryCheckTime',
		value : queryCheckTime
	}];
	return params;
}

// 新增题库下拉框
function selectQuestion(){
	var url = appCtx +"/system/common/queryQuestions.html";
	$.post(url, function(data) {
		$("select[name='questionId']").empty();
		var vdefault = "请选择";
		$("select[name='questionId']").append(
				"<option data-id='' data-name='' data-answer='' value=''>"
						+ vdefault + "</option>");
		$.each(data, function(i, item) {
			if ("${questionId}" == item.id) {
				$("select[name='questionId']").append(
						"<option data-id='" + item.id + "' data-name='"
								+ item.name + "' data-answer='" + item.answer
								+ "' value='" + item.id + "'>" + item.name
								+ "</option>");
			} else {
				$("select[name='questionId']").append(
						"<option data-id='" + item.id + "' data-name='"
								+ item.name + "' data-answer='" + item.answer
								+ "' value='" + item.id + "'>" + item.name
								+ "</option>");
			}
		});

	}, "json");
}

// 新增界面业户下拉选项
function selectEntCheck(){
	
	var url = appCtx + "/system/common/selectEnterprise.html";
	$.post(url, function(data) {
		
		$.each(data, function(i, item) {
			if ("${check_target_id}" == item.id) {
				$("select[id='check_target_id']").append(
						"<option data-id='" + item.id + "' data-name='"
								+ item.name + "' value='" + item.id + "'>"
								+ item.name + "</option>");
			} else {
				$("select[id='check_target_id']").append(
						"<option data-id='" + item.id + "' data-name='"
								+ item.name + "' value='" + item.id + "'>"
								+ item.name + "</option>");
			}
		});

		// 业户全选 bootstrap-multiselect.js 不支持ie8
//		$('#check_target_id').multiselect({
//	         enableFiltering: true,
//	         includeSelectAllOption: true,
//	         selectAllJustVisible: false,
//	         nonSelectedText:'请选择业户'
//	     });
		$('#check_target_id').multipleSelect({
			filter:true,
			placeholder:'请选择业户'
		});
		
	}, "json");
 
}

//查岗策略设置保存
function saveStrategy(){
	
	// 下发时间
	var checkTime="";
	// 查岗模式 1:自动、2:手工 (默认选中自动)
	var checkMode=""
	var flag = true;
	// 业户查岗下拉数组 
	var checkTargetId = [];
	$("#check_target_id").find("option:selected").each(function() {
		checkTargetId.push($(this).attr("data-id"));
	}); 
	if(checkTargetId.length===0){
		flag = false ;
		alert('业户查岗不能为空!');
		return;
	}
	// 查岗内容->取题库id
	var questionId = $("#questionId").find("option:selected").attr("data-id");
	// 题库名称
	var question = $("#questionId").find("option:selected").attr("data-name");
	if(questionId == ""){
		flag = false ;
		alert('查岗内容不能为空!');
		return;
	}
	// 答案
	var answer = $("#questionId").find("option:selected").attr("data-answer");
	// 下发时间
	$("input[name=checkMode]").each(function(){
	    if($(this).attr("checked")){
	    	checkMode = $("input:radio:checked").val();
	    	// 自动-> 插入策略设置表->定时任务循环策略表->发指令->插入mongodb区域查岗记录表
		    if(checkMode == 1){
			    // 取下发时间
		        checkTime = $("#checkTime").val();
		        if(checkTime == ""){
		    		flag = false ;
		    		alert('下发时间不能为空!');
		    		return;
		    	}
		    }
		    // 手动->直接发指令->插入mongodb区域查岗记录表
		    else{
		    	 checkTime = $("#checkTime").val();
		    }
	    }
	})
	// 调用后台保存					
	if (flag) {
		$.ajax({
	        type: 'post',
	        async: false,
	        url: appCtx + "system/entCheck/saveStrategy.html",
	        data : {
				checkTime     : checkTime,				// 下发时间
				questionId    : questionId,				// 题库id
				question      : question,				// 题库名称
				checkMode     : checkMode,				// 查岗方式 1:手动 2:自动 
				checkTargetId : checkTargetId.toString(),			// 查岗业户ID
				answer		  : answer					// 答案
			},
	        dataType : "JSON",
	        traditional: true,//这里设置为true
	        success: function (data) {
				if(data.code == "0"){
					$("#tbStrategys").flexReload();
					var funStr = "window.frames['" + mFrameName + "']."+ mDialogCallback;
					eval("(" + funStr + ")");
					global.ajaxLoading.pop('操作成功!',false,1000);
				}else{
					alert("操作失败!");
				}
	        }
	    });
	}
	
}


//答案赋值
function getAnswer(data){
	var answer = $("#questionId").find("option:selected").attr("data-answer");
	$("#answer1").val(answer); 
	
}
// 查岗策略设置记录列表查询
function loadStrategys(){
	$("#tbStrategys").flexigrid( {
		
		url :  appCtx + "system/entCheck/loadAllStrategys.html",
		dataType : 'json',
		colModel : [{
			display : '对象类型',		//表头
			name : 'checkType',		//序号列为固定值fid
			width : 60,			// 得加上，要不IE报错
			sortable:true,			// 序号列不能排序
			align : 'left',			//对齐方式
			handlefunction : 'findCheckType',
			paramcolnames : ['checkType']
		}, {
			display : '对象名称',
			name : 'name',
			width : 200,
			sortable : true,
			align : 'left'
		}, {
			display : '查岗时间',
			name : 'checkTime',
			width : 80,
			sortable : true,
			align : 'left'
		}, {
			display : '查岗内容',
			name : 'question',
			width : 100,
			sortable : true,
			align : 'left'
		}, {
			display : '答案',
			name : 'answer',
			width : 100,
			sortable : true,
			align : 'left'
		}],
		resizable: false,
		sortname : "ID",//第一次加载数据时排序列
		sortorder : "desc",//第一次加载数据时排序类型
		params : this.getParam(),
		usepager : true,//是否分页，默认为true。
		showToggleBtn: false, 
		showTableToggleBtn : true,//是否显示收起/打开按钮,默认不显示。
		useRp : true,//是否可以动态设置每页显示的结果数，默认为false。
		rp : 10,//每页记录数，默认为10
		checkbox : true,//是否要多选框,默认为false。
		rowId : 'ID',// 多选框绑定行的id,只有checkbox : true时才有效。
		singleSelect:false,
		height : 210 //表格高度
	});	 
}

//对象类型  1:业户 2:管理机构
function findCheckType(checkType){
	if(checkType == "1"){
		return "业户";
	}
	else{
		return "管理机构";
	}
}

function deleteStrategy(){
	var checkedIds = $("#tbStrategys").getCheckedRows();		
	if(checkedIds.length<1){
		window.parent.showVelidateModal('请选择要删除的数据！');
		return;
	}
	
	window.parent.doConfirm("确定要删除吗？删除后将无法恢复！",this.name,"deleteStrategyConfirm()");
}


// 删除
function deleteStrategyConfirm(){
	
	var checkedIds = $("#tbStrategys").getCheckedRows();
    $.ajax({
        type: 'post',
        async: false,
        url: appCtx + "system/entCheck/deleteStrategy.html",
		data:{strategyIds:checkedIds.toString().replace(/row/, "")},
        cache: false,
        dataType : "JSON",
        success: function (data) {
			if(data.code == "0"){
				$("#tbStrategys").flexReload();
				global.ajaxLoading.pop('操作成功!',false,2000);
			}else{
				showVelidateModal("操作失败!");
			}
        }
    });		
 }

//清空
function reset(){
	$('#check_target_id').val("");
	$("#checkTime").val("");
	$("#questionId").val("");
	$("#answer").val("");
}